home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / tar-1_11.lha / tar-1.11.2 / ChangeLog < prev    next >
Text File  |  1993-03-25  |  62KB  |  1,733 lines

  1. Thu Mar 25 13:32:40 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  2.  
  3.     * version.c: Released version 1.11.2.
  4.  
  5.     * Makefile.in (dist): Do the link differently; some of the
  6.     files have changed filesystems which makes it more complex.
  7.  
  8.     * Makefile.in (dist, shar): Use gzip instead of compress.
  9.  
  10.     * create.c (dump_file): Test for curdev==-1, not curdev<0.
  11.     Some losing NFS systems give negative device numbers
  12.     sometimes.
  13.  
  14. Thu Mar 25 11:55:15 1993  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  15.  
  16.         * level-0, level-1 (TAR_PART1): Use `--block-size', not just
  17.           `--block', which is now ambiguous. 
  18.  
  19. Wed Mar 24 22:12:51 1993  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  20.  
  21.         * backup-specs (TAR): New variable.
  22.  
  23.         * level-0, level-1 (TAR_PART1): Get path of GNU tar from `TAR'
  24.           variable, don't hardcode it.
  25.  
  26. Sat Mar 20 00:20:05 1993  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  27.  
  28.         * backup-specs (SLEEP_MESSAGE): put backslashes in front of nested
  29.           double quotes. 
  30.  
  31.         * level-0, level-1 (BACKUP_DIRS): Don't put in quotes. 
  32.           (LOGFILE): Use sed to construct name, not awk. 
  33.  
  34.         * dump-remind (recipients): Replaced inefficient pipeline with a
  35.           single, simple sed script. 
  36.           (volno): Deal with the possibility that VOLNO_FILE may not be
  37.           created yet. 
  38.  
  39. Fri Mar 19 15:05:15 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  40.  
  41.     * backup-specs (VOLNO_FILE): Removed abusive comment by Noah.
  42.  
  43.     * buffer.c (new_volume): Write the global volume number to the
  44.     volno file before running the info script, so that the script
  45.     can look at it.
  46.  
  47. Thu Mar 18 20:11:54 1993  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  48.  
  49.         * Makefile.in (AUX): Include `dump-remind' in distribution.
  50.  
  51.         * backup-specs (SLEEP_MESSAGE): New variable.
  52.           level-0, level-1: Use it instead of external `dont_touch' file.
  53.  
  54.         * level-0, level-1: Put most of the script in () and pipe
  55.           everything from the subshell through tee -a $LOGFILE.  Since you
  56.           really want most of the output to go to the logfile anyway, and
  57.           since all those pipelines were preventing one from getting the
  58.           exit status of most commands, this seems like the right idea.
  59.  
  60.         * level-0, level-1 (LOGFILE): Use YYYY-MM-DD (all numeric) format
  61.           for log file name, since that makes the file names sortable in a
  62.           coherent way.  Suffix should always be `level-n' where n is the
  63.           dump level.  level-0 script was just using `-full' instead.
  64.  
  65.         * level-0, level-1 (DUMP_LEVEL): New variable.  Set to `0' or `1'
  66.           in each script as appropriate.
  67.  
  68.         * level-0, level-1 (HOST): Renamed to `localhost' for clarity.
  69.           (host): renamed to `remotehost' for clarity.
  70.  
  71.         * level-0, level-1 (startdate): New variable.  Use it in Subject
  72.           line of mailed report.
  73.  
  74.         * level-0, level-1: Fixed all instances where sed is called with a
  75.           script on the command line to use `-e' option.
  76.  
  77.         * level-0, level-1: Don't try to call logfile.sed to filter
  78.           LOGFILE.  It's not distributed with tar and was never really used
  79.           anyway.
  80.  
  81.         * level-0, level-1: Put quotes around most variable names (barring
  82.           those that are known to intentionally contain text that should be
  83.           expanded into multiple words, like `TAR_PART1').
  84.  
  85.         * level-0, level-1: Got rid of annoying trailing backslashes in awk
  86.           scripts.  They were gratuitous.  Made them a little more readable
  87.           by adding some whitespace.
  88.  
  89. Wed Mar 17 10:30:58 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  90.  
  91.     * tar.c (describe, long_options): Changed --compress-block to
  92.     --block-compress.  
  93.     (options): Fixed f_compress_block sanity check error message
  94.     to give the correct name of the option.
  95.  
  96. Tue Mar 16 14:52:40 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  97.  
  98.     * extract.c (extract_archive): case LF_DIR: Do chown when
  99.     necessary.  Don't bother jumping to set_filestat for
  100.     f_modified; repeat the chmod code here.  Replace `break',
  101.     deleted on 2 September 1992.  
  102.  
  103.     * tar.c (describe, long_options, options): Added gzip options
  104.     and use-compress-program option.  
  105.     * tar.h: Added new compression options.
  106.     * buffer.c (child_open, open_archive): Use new compression options.
  107.  
  108.     * create.c (start_header): Only mask off high bits when 
  109.     creating old-style archives.
  110.     * list.c (decode_header): Mask off potentially misleading
  111.     high bits from the mode when reading headers.
  112.  
  113. Mon Mar 15 11:34:34 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  114.  
  115.     * extract.c (extract_archive): Put arguments in the right
  116.     order for error message.
  117.  
  118.     * create.c (deal_with_sparse): if the last byte was null, we
  119.     didn't write it out.
  120.  
  121.     * gnu.c, create.c, extract.c, diffarch.c, list.c throughout:
  122.     Replace malloc calls with ck_malloc and realloc with ck_realloc.
  123.  
  124.     * tar.c (describe): Improve doc for -L.
  125.  
  126.     * tar.c (name_next): Don't apply exclusion to explicitly named
  127.     files.
  128.  
  129.     * tar.c (long_options, describe): Added new-volume-script as
  130.     an alias for info-script.
  131.  
  132.     * extract.c (extract_archive): LF_DUMPDIR case; misplaced paren.
  133.  
  134.     * extract.c (extract_archive): extract_file case, first if, 
  135.     include space for null in namelen computation.
  136.  
  137.     * extract.c (extract_sparse_file): Use value returned by write
  138.     to properly create error message.
  139.  
  140.     * create.c (create_archive): Don't assume we have anything to
  141.     dump.
  142.  
  143.     * buffer.c (open_archive): Set current_file_name for the
  144.     volume header so that verbose listings work properly.
  145.  
  146.     * Makefile.in (realclean): Added getdate.c.
  147.  
  148. Thu Jan 14 23:38:44 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
  149.  
  150.     * tar.c: Include fnmatch.h after port.h to make sure we get our FNM_*
  151.     (e.g. on HPUX 8).
  152.  
  153. Tue Nov 24 08:30:54 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
  154.  
  155.     * tar.c (addname), gnu.c (read_dir_file): Use HAVE_GETCWD, not USG.
  156.  
  157.     * port.h, rmt.h: Use HAVE_STRING_H, not USG.
  158.  
  159.     * port.h: Add dir header decls.
  160.     * create.c, gnu.c: Use SYSNDIR, SYSDIR, and NDIR
  161.     instead of BSD42 and USG.  Rename DP_NAMELEN to NLENGTH.
  162.     Use `struct dirent' instead of `struct direct'.
  163.     * create.c, gnu.c, tar.c: Remove dir header decls.
  164.  
  165. Wed Nov 18 15:31:30 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
  166.  
  167.     * tar.c: Change FNM_TARPATH to FNM_LEADING_DIR to match change
  168.     in fnmatch.[ch].
  169.  
  170. Wed Oct 21 00:52:24 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  171.  
  172.         * level-0, level-1: put curly braces around variables for clarity.
  173.  
  174.         * backup-specs (DUMP_REMIND_SCRIPT): define it (but commented out
  175.           so that distributed dump scripts won't use it by default).
  176.           level-0, level-1 (TAR_PART1): use --info-script if
  177.           DUMP_REMIND_SCRIPT is defined.
  178.           dump-remind: new file (intended as an example).
  179.  
  180. Thu Oct 15 03:33:28 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  181.  
  182.         * level-0, level-1: remove $LOGFILE.tmp files before exiting.
  183.  
  184. Fri Oct  2 00:28:01 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
  185.  
  186.     * tar.c (describe): Fix some tab alignments.
  187.  
  188.     * Makefile.in (SRC3): Add getdate.c, for systems without bison/yacc
  189.     (like MS-DOS).
  190.  
  191.     * diffarch.c (diff_sparse_files): Add missing arg to fprintf calls.
  192.  
  193.     * extract.c (extract_archive, restore_saved_dir_info),
  194.     buffer.c (child_open), list.c (decode_header, print_header):
  195.     Delete unused vars.  
  196.  
  197.     * port.c [__MSDOS__]: Have strstr, rename, and mkdir.  Don't
  198.     define ck_pipe.
  199.  
  200.     * buffer.c, tar.c (init_volume_number, closeout_volume_number),
  201.     create.c (write_long):     Declare as void, not int, since they
  202.     don't return a value.
  203.  
  204. Thu Sep 24 00:06:02 1992  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)
  205.  
  206.     * level-0, level-1 (TAR_PART1): remove --atime-preserve
  207.     because of a total screw.
  208.  
  209. Tue Sep 22 14:15:48 1992  Michael I Bushnell  (mib@wookumz.gnu.ai.mit.edu)
  210.  
  211.     * buffer.c (close_archive): Removed leftover `break' from when
  212.     this was a switch.
  213.  
  214. Tue Sep 22 08:33:16 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  215.  
  216.         * create.c, port.h: indented #pragma directives with 1 space. 
  217.  
  218. Fri Sep 18 14:15:17 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  219.  
  220.     * All source files: re indented using GNU indent.  
  221.  
  222.     * rtapelib.c (__rmt_read): Only read the amount left in the
  223.     buffer; otherwise a broken rmt server (which puts too much
  224.     data out) could overwrite past our buffer.
  225.  
  226. Thu Sep 17 14:08:58 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  227.  
  228.     * create.c: Throughout, use struct utimbuf rather than array
  229.     of longs.
  230.  
  231.     * configure.in: Check for getpwuid and getgrgid.
  232.  
  233.     * Makefile.in (SRC3, AUX): Move alloca.c to SRC3.
  234.     (OBJ3): Add @ALLOCA@.
  235.  
  236.     * Makefile.in (getdate.c): Look in srcdir for getdate.y.
  237.  
  238.     * buffer.c (close_archive): We can't check WTERMSIG
  239.     meaningfully unless we already know tha WIFSIGNALED is true.
  240.     (There is no guarantee it WTERMSIG will return zero when
  241.     WIFSIGNALED is false.)
  242.     * port.c (rmdir, mkdir): Check WIFSIGNALED rather than
  243.     WTERMSIG.
  244.  
  245.     * Makefile.in (getdate.c): Use $(YACC) instead of `yacc'.
  246.  
  247. Tue Sep 15 14:49:48 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  248.  
  249.     * version.c: Released version 1.11.1.
  250.  
  251.     * Makefile (AUX): Added NEWS.
  252.  
  253.     * Makefile.in (rmt): Added $(LIBS).
  254.     * configure.in: Added tests for libraries needed on Solaris.
  255.  
  256.     * mangle.c (extract_mangle): Null terminate link name for
  257.     losing archives missing it.
  258.  
  259.     * Makefile.in: added target and rule for getdate.c: getdate.y;
  260.     some makes don't have one built in.
  261.  
  262. Mon Sep 14 16:23:15 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  263.  
  264.     * tar.c (options, main): Advise use of --help rather than
  265.     +help.
  266.  
  267.     * create.c (write_long): Using hstat here is a Bad Idea, and
  268.     totally unnecessary at that.
  269.  
  270.     * list.c (read_header): Compute both signed and normal
  271.     checksums.
  272.  
  273.     * configure.in: Define BSD in the presence of /sdmach or 
  274.     /../../mach.
  275.  
  276.     * diffarch.c, buffer.c: Declare valloc as void* rather than
  277.     char*.
  278.  
  279.     * Makefile.in: Don't install info files.
  280.  
  281.     * configure.in: Check for malloc was scrambled.
  282.  
  283.     * port.h: Undefine index and rindex if necessary; some
  284.     string.h's define them for us.
  285.  
  286.     * tar.c (addname): Missing braces after if.
  287.     * gnu.c (read_dir_file): Missing braces after if.
  288.  
  289.     * names.c: Add include of <stdio.h>,
  290.  
  291.     * create.c (start_header): Set current_file_name so that 
  292.     print_header (used for verbose create) works properly.
  293.     (dump_file): Set current_link_name when setting up symlink
  294.     and hardlink records.
  295.  
  296. Fri Sep 11 01:05:52 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
  297.  
  298.     * fnmatch.[ch]: New files.
  299.     * wildmat.c: File removed.
  300.     * tar.c: Include fnmatch.h and use fnmatch instead of wildmat.
  301.     * Makefile.in, makefile.pc: Replace wildmat.o(bj) with fnmatch.
  302.  
  303. Thu Sep 10 23:19:30 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
  304.  
  305.     * buffer.c, tar.c: Remove redundant decls of getenv, rindex.
  306.  
  307.     * Makefile.in: Add uninstall target.
  308.     Define libdir instead of hardcoding /etc for installing rmt.
  309.  
  310. Thu Sep 10 13:06:03 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  311.  
  312.     * list.c (read_header): On second thought, that doesn't work
  313.     either, so just store the names in malloced areas.  Sigh.
  314.  
  315.     * NEWS: New file.
  316.     * README: Removed things that belong in NEWS; point to it.
  317.  
  318.     * list.c (read_header): current_file_name and
  319.     current_link_name need to be set to the arrays in head rather
  320.     than header; header is the actual read buffer and will change.
  321.  
  322.     * extract.c (extract_archive):
  323.     * buffer.c (new_volume): `#' directives need to start in
  324.     column 1.
  325.  
  326. Thu Sep 10 06:09:18 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  327.  
  328.         * level-0, level-1 (TAR_PART1): put --atime-preserve inside quotes.
  329.  
  330. Wed Sep  9 13:34:26 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  331.  
  332.     * Makefile.in (AUX): Add getpagesize.h.
  333.     (AUX): Comment out manuals.
  334.     (all): Comment out dependency on tar.info.
  335.  
  336.     * version.c: Release of version 1.11.
  337.  
  338.     * level-0, level-1 (TAR_PART1): Use --atime-preserve.
  339.  
  340.     * Makefile, configure.in: Arrange to use local malloc on HP-UX.
  341.  
  342.     * port.h Use the canonical Autoconf chunk for alloca instead
  343.     of just    looking for gcc.
  344.  
  345. Wed Sep  9 03:16:58 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  346.  
  347.         * port.h: If compiling with gcc, use __builtin_alloca.
  348.  
  349. Tue Sep  8 16:13:41 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  350.  
  351.     * extract.c: Removed long name support from here.
  352.     * list.c (read_header): Understand and skip longname/longlink
  353.     headers here.  Names for current file are stored in new global
  354.     variables.  All source files except create.c changed to refer
  355.     to current_file_name and current_link_name instead of fields
  356.     directly from the current header.
  357.  
  358. Thu Sep  3 12:41:08 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  359.  
  360.     * create.c (write_long): New function.
  361.     (dump_file): When writing link records or symlink records, use
  362.     new write_long function instead of mangling when the link
  363.     target is too long.
  364.     (start_header): Use write_long instead of mangling for long
  365.     names. 
  366.     * extract.c (saverec): Recognize LF_LONGNAME and LF_LONGLINK.
  367.     (saverec): Throughout, use longname and longlink if they are set.
  368.  
  369. Wed Sep  2 14:41:13 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  370.  
  371.     * mangle.c: This is now deprecated; retain extract_mangle for
  372.     backward compatability.
  373.  
  374.     * list.c (print_header): patch from Chris Arthur to prevent 
  375.     printing 0 when the gid or uid is null.
  376.  
  377.     * list.c (decode_header): patch from Chris Arthur to use the
  378.     gid field when the gid is empty, and similarly for uid.
  379.  
  380.     * extract.c: saved_dir_info, saved_dir_info_head: new type and
  381.     var.
  382.     (extract_archive): When extracting directories, now save info
  383.     in saved_dir_info_head.
  384.     (restore_saved_dir_info): New function.
  385.     * list.c (read_and): Call restore_saved_dir_info at the end of
  386.     the run.
  387.     This patch is from Chris Arthur (csa@pennies.sw.stratus.com).
  388.  
  389. Mon Aug 31 15:39:55 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  390.  
  391.     * create.c (create_archive): If there are no names specified,
  392.     write nothing on the archive instead of dumping ".".  
  393.  
  394.     * buffer.c (open_archive): Useful error message.
  395.  
  396.      * tar.c, tar.h: Recognize f_atime_preserve.
  397.     * create.c (dump_file): Implement f_atime_preserve.
  398.  
  399.     * rmt.h (_remdev): Don't require /dev/ to be in remote archive
  400.     names; obey new force-local flag.
  401.     * tar.c, tar.h: Implement new force-local flag.
  402.  
  403.     * tar.c (describe): same-owner and same-order were confused.
  404.  
  405.     * create.c (dump_file): Check for toplevel had sense reversed.
  406.  
  407.     * buffer.c (new_archive): Don't free old_name...when these
  408.     come from the command line, they aren't malloced, and it isn't
  409.     important to save this trivial amount of memory.
  410.  
  411.     * tar.h: replace ar_file with ar_files, n_ar_files,
  412.     cur_ar_files.
  413.     * buffer.c (open_archive): multi-volume compressed archives
  414.     never worked; give an appropriate error.  Change open of
  415.     ar_file to open of ar_files[0].
  416.     (writeerror, readerror, flush_archive): use
  417.     ar_files[cur_ar_file] instead of ar_file.
  418.     (new_archive): Necessary changes to support ar_files.
  419.     * tar.c (options): handle multiple tape drive arguments.
  420.  
  421. Fri Aug 28 17:42:13 1992  Michael I Bushnell  (mib@wookumz.gnu.ai.mit.edu)
  422.  
  423.     * list.c (decode_header), create.c (start_header), tar.h (TMAGIC): 
  424.     Undo djm's changes below; tar does not support the final
  425.     Posix.1 format; it's bad to make it look like it does.
  426.  
  427. Sun Jul 19 02:13:46 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
  428.  
  429.     * port.h: Try to prevent redefining major.
  430.     * port.c: HAVE_BZERO -> minix.  Fix a typo.
  431.  
  432.     * list.c (decode_header): Recognize the final POSIX.1 magic as
  433.     well as the early draft magic for ustar.
  434.     * create.c (start_header): Create a final POSIX.1 magic string
  435.     instead of an early draft string for ustar.
  436.     * tar.h (TMAGIC): Remove the trailing blanks.
  437.  
  438.     * rmt.c, rtapelib.c: Use POSIX and STDC headers if available.
  439.     * rmt.h: Declare the external functions defined in rtapelib.c.
  440.  
  441. Tue Jul 14 00:44:37 1992  David J. MacKenzie  (djm@apple-gunkies.gnu.ai.mit.edu)
  442.  
  443.     * pathmax.h: New file.
  444.     * port.h: Include it.
  445.     * create.c (create_archive): Allocate PATH_MAX instead of
  446.     NAME_MAX for temporary buffer so we don't have to figure out
  447.     what NAME_MAX is (portably).
  448.  
  449. Fri Jul 10 08:30:42 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  450.  
  451.     * gnu.c (collect_and_sort_names): write_dir_file has no argument.
  452.  
  453.     * level-0, level-1: Avoid silly Sun awk lossage.
  454.  
  455. Mon Jul  6 20:11:32 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
  456.  
  457.     * port.c (rename): If unlinking the source at the end fails,
  458.     unlink the destination instead to avoid leaving a mess.
  459.  
  460. Fri Jul  3 15:16:42 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
  461.  
  462.     * buffer.c, diffarch.c, update.c, rtapelib.c: Change NO_MTIO to
  463.     HAVE_SYS_MTIO_H.
  464.  
  465.     * port.c, tar.h: Change FOO_MISSING to HAVE_FOO.
  466.  
  467. Tue Jun 23 23:39:02 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
  468.  
  469.     * rmt.c: Add #ifdefs to work on ISC.
  470.  
  471. Wed May 20 00:12:27 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
  472.  
  473.     * port.h: Define major, minor, makedev if the system doesn't.
  474.  
  475. Wed May 13 21:16:38 1992  Michael I Bushnell  (mib@apple-gunkies.gnu.ai.mit.edu)
  476.  
  477.     * gnu.c (add_dir_name): Store legitimate value into
  478.     dir_contents when get_dir_contents returns NULL.
  479.  
  480. Thu May  7 23:44:35 1992  Michael I Bushnell  (mib@apple-gunkies.gnu.ai.mit.edu)
  481.  
  482.     * gnu.c (add_dir_name): Check for return of NULL from get_dir_contents;
  483.     see djm's change of Fri Jul 26 01:12:58 1991.
  484.  
  485. Mon May  4 22:50:57 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
  486.  
  487.     * tar.h: Make comments for option names say -- instead of +.
  488.  
  489. Thu Apr 30 03:09:16 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)
  490.  
  491.         * level-1: Added `$' before VOLNO_FILE in definition of TAR_PART1.
  492.         Added line to remove $VOLNO_FILE from any previous dump before
  493.         starting. 
  494.           
  495.         * level-0, level-1: Change long options to use `--' instead of `+'
  496.         (support for `+' will go away soon) 
  497.  
  498. Wed Apr 29 14:23:10 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  499.  
  500.     * tar.c, tar.t: Added +volno-file option.
  501.     buffer.c: New functions init_volume_number,
  502.     closeout_volume_number.
  503.     tar.c (main): Call new functions in the right place.
  504.  
  505.     * buffer.c (fl_write, fl_read): Mod to allow losing tape
  506.     drives which use short counts to indicate end of tape
  507.     correctly handle the multi-tape stuff.  The read half won't
  508.     co-exist with f_reblock; there's no way to fix that, of
  509.     course.
  510.  
  511.     * tar.c, tar.h: Added new option +show-omitted-dirs, from
  512.     Karl Berry.  
  513.     list.c (read_and): Implemented show-omitted-dirs.
  514.  
  515.     * tar.c, tar.h: Added new option +checkpoint.
  516.     buffer.c (fl_read, fl_write): Implemented +checkpoint lazily.
  517.  
  518.     * create.c (dump_file): Added toplevel argument; some devices
  519.     can be negative, so the old method was bogus.  All callers
  520.     changed. 
  521.  
  522.     * tar.c, tar.h: Added new option +ignore-failed-read.
  523.     create.c (dump_file): Implemented +ignore-failed-read.
  524.  
  525.     * create.c (finish_sparse_file): Commented out debugging printf.
  526.  
  527.     * tar.c, tar.h: Added new option +remove-files to delete files
  528.     after they are added to the archive.
  529.     create.c (dump_file): Implemented +remove-files for
  530.     everything but directories.  I don't think they need it.
  531.  
  532. Tue Apr 28 13:21:42 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  533.  
  534.     * create.c: (dump_file): save_name needs to be set equal to p,
  535.     not something inside the header, because the header changes at
  536.     the first buffer flush.
  537.  
  538. Fri Apr 24 10:41:13 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  539.  
  540.     * create.c: Djm incorrectly moved the include of port.h to
  541.     precede the include of sys/file.h; restored.
  542.  
  543.     * tar.c (main): Cases CMD_EXTRACT and CMD_LIST: declare error
  544.     string with const.
  545.  
  546.     * gnu.c (collect_and_sort_names): Leave if around
  547.     write_dir_file in place.
  548.  
  549. Wed Apr 22 02:16:14 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
  550.  
  551.     * rtapelib.c: SIGTYPE -> RETSIGTYPE.
  552.  
  553. Mon Mar  9 22:42:05 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
  554.  
  555.     * rtapelib.c: Reformat and make comments more complete.
  556.     Rename a few variables for clarity.
  557.  
  558. Thu Mar  5 14:07:34 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
  559.  
  560.     * tar.c (describe): Document long options as starting with --.
  561.  
  562. Thu Jan 23 22:54:41 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  563.  
  564.     * tar.c (options): Check get_date return value for error indication.
  565.  
  566. Tue Dec 24 00:03:03 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  567.  
  568.     * tar.c, gnu.c, extract.c, create.c, port.h, rmt.h: Change
  569.     POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION.
  570.  
  571. Fri Dec 20 13:50:38 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  572.  
  573.     * testpad.c (main): flush stderr so perror and fprintf
  574.     cooperate right.
  575.  
  576. Wed Dec 18 16:52:42 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  577.  
  578.     * port.h: Check MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS to find
  579.     where to get major, minor and makedev.
  580.     * create.c, list.c, update.c: Don't check USG to include
  581.     sys/sysmacros.h.
  582.  
  583. Thu Dec 12 21:57:10 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  584.  
  585.     * mangle.c (extract_mangle): Correctly null terminate name of
  586.     link target.
  587.  
  588. Thu Nov 21 07:44:18 1991  Michael I Bushnell  (mib at nutrimat)
  589.  
  590.     * create.c (dump_file, at start of ISREG output loop): use
  591.     filename from header instead of real name to make sure that we
  592.     get the mangled version and not one that is too long and
  593.     overflows buffers.
  594.  
  595. Sat Nov 16 01:37:45 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  596.  
  597.     * tar.h: Use new criteria for STDC version of msg.
  598.  
  599. Sat Nov  2 21:31:57 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  600.  
  601.     * create.c, gnu.c, tar.c: Use DIRENT instead of NDIR to select
  602.     between dirent.h and ndir.h for USG.
  603.  
  604.     * port.c: Rename WANT_FOO to FOO_MISSING to make sharing code
  605.     and configure script with other utilities easier.  Use
  606.     VPRINTF_MISSING and DOPRNT_MISSING instead of FOO_MSG to
  607.     select error reporting routines.
  608.  
  609. Thu Oct 17 20:19:02 1991  Michael I Bushnell  (mib at churchy.gnu.ai.mit.edu)
  610.  
  611.     * level-0: Repair damage from previous mod: stdin to rsh must
  612.     be the terminal or tar's questions lose.
  613.  
  614. Sat Aug 31 15:05:27 1991  Noah Friedman  (friedman at nutrimat.gnu.ai.mit.edu)
  615.  
  616.         * level-0: Fixed several syntax errors associated with
  617.           stdout/stderr redirection.
  618.           Made sure remote host executes commands from sh where redirection
  619.           is necessary, since root's shell might be csh in some places and
  620.           the redirect syntax differs.
  621.  
  622. Thu Aug 29 00:54:01 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  623.  
  624.     * tar.c (long_options).  Fixed info-script long option.
  625.  
  626. Mon Aug 26 16:53:50 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu)
  627.  
  628.     * configure, Makefile.in: Only put $< in Makefiles if VPATH
  629.     is being used, because older makes don't understand it.
  630.  
  631. Mon Aug 19 01:47:57 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  632.  
  633.     * create.c: Indent '#pragma alloca' so non-ANSI compilers
  634.     don't choke on it.
  635.  
  636. Wed Aug 14 14:10:43 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
  637.  
  638.     * list.c (UGSWIDTH): Increase from 11 (sort of like Unix tar) to
  639.     18, so that with normal user and group names of <= 8 chars,
  640.     the columns never shift in a tar -t listing.
  641.  
  642. Fri Aug  2 00:41:08 1991  David J. MacKenzie  (djm at apple-gunkies)
  643.  
  644.     * Makefile.in (dist): Include texinfo.tex and tar.info*.
  645.     (install): Install tar.info*.
  646.     * configure: Set INSTALLDATA.
  647.  
  648.     * configure: Create config.status.  Remove it and Makefile if
  649.     interrupted while creating them.
  650.  
  651.     * configure: Check for +srcdir etc. arg and look for
  652.     Makefile.in in that directory.  Set VPATH if srcdir is not `.'.
  653.     * Makefile.in: Add `prefix'.
  654.     (tar.info): New target.
  655.  
  656. Tue Jul 30 17:08:04 1991  David J. MacKenzie  (djm at apple-gunkies)
  657.  
  658.     * configure: NEED_TZSET has become FTIME_MISSING.
  659.  
  660. Mon Jul 29 19:23:10 1991  David J. MacKenzie  (djm at wombat.gnu.ai.mit.edu)
  661.  
  662.     * port.c [F_CHSIZE]: Additional version.
  663.  
  664. Sat Jul 27 22:27:47 1991  David J. MacKenzie  (djm at wombat.gnu.ai.mit.edu)
  665.  
  666.     * rmt.h: Clean up ifdefs.
  667.  
  668.     * makefile.pc: Fix typo.
  669.     port.h: Change MSDOS to __MSDOS__.
  670.     [__MSDOS__]: Define off_t.  Include io.h and not sys/param.h.
  671.     [__TURBOC__]: Use void * and don't define const.
  672.  
  673. Fri Jul 26 01:12:58 1991  David J. MacKenzie  (djm at bleen)
  674.  
  675.     * buffer.c: Rename `eof' to `hit_eof' to avoid conflict with an
  676.     MSDOS function.
  677.     * gnu.c (get_dir_contents): Return NULL, not "\0\0\0\0", on error.
  678.     * diffarch.c (diff_archive): Open files in binary mode.
  679.     Don't use or free a non-malloc'd return value from get_dir_contents.
  680.     * msd_dir.c [__TURBOC__]: Include stdlib.h.
  681.     * rmt.h: lseek returns off_t, not long.
  682.  
  683.     * tar.c (describe): -X is +exclude-from, not +exclude.
  684.     (names_notfound): Free memory only if amiga, not !unix.
  685.  
  686.     * tar.h, tar.c: Add +null option to make -T read
  687.     null-terminated filenames (such as those produced by GNU find
  688.     -print0), and disable -C option.
  689.     This guarantees that odd filenames will get archived.
  690.     * tar.c (read_name_from_file): New function.
  691.     (name_next): Call it instead of fgets.
  692.  
  693. Wed Jul 24 11:17:48 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  694.  
  695.     * create.c [_AIX]: Declare alloca.
  696.  
  697.     * buffer.c (open_archive): Check for successful open before,
  698.     not after, fstatting the fd.
  699.  
  700. Tue Jul 23 20:51:31 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  701.  
  702.     * configure: Only define BSD42 if sys/file.h exists.
  703.     If alloca is missing and /usr/ucblib exists (SVR4), use it
  704.     instead of -lPW.
  705.  
  706.     * port.h [!__STDC__]: #define const.
  707.     * gnu.c (dirent_cmp): Fix args to agree with ANSI C prototype.
  708.     * create.c: Declare ck_realloc.
  709.     * gnu.c, diffarch.c: Move check for symlinks to after port.h include.
  710.  
  711. Sat Jul 20 00:03:54 1991  David J. MacKenzie  (djm at apple-gunkies)
  712.  
  713.     * msd_dir.[ch]: Use POSIX-style `struct dirent' instead of
  714.     `struct direct'.
  715.     * create.c, gnu.c, tar.c: Adjust callers.
  716.  
  717. Thu Jul 18 00:05:01 1991  David J. MacKenzie  (djm at bleen)
  718.  
  719.     * port.c (ck_malloc, ck_realloc): Return PTR, not char *.
  720.     * gnu.c, create.c, tar.c: Fix decls.
  721.  
  722.     * port.c: Don't use the preprocessor to guess missing
  723.     functions on Unix; let configure do it.
  724.     [WANT_GETWD] (getwd): Function removed; not needed because
  725.     getcwd is used if needed.
  726.     * gnu.c, tar.c: Use getcwd if POSIX.
  727.  
  728.     * rtapelib.c: Use SIGTYPE instead of testing SIGNAL_VOID.
  729.     Default to void (more common these days) instead of int.
  730.  
  731.     * tar.c, gnu.c, mangle.c: Remove VOIDSTAR defn.  Use PTR instead.
  732.     * port.h: Define PTR.
  733.  
  734.     * gnu.c, tar.c [__MSDOS__ || USG]: Remove incorrect getcwd
  735.     decl; put correct one in port.h [!POSIX].
  736.  
  737.     * tar.c (describe): Print on stdout instead of stderr; it's
  738.     not so much a usage message (since you have to ask for it
  739.     explicitly) as on-line help, and you really need to be able to
  740.     page it because it's more than a screen long.
  741.  
  742.     * Make #ifdefs for sys/file.h or fcntl.h, directory header,
  743.     sys/mtio.h consistent between files.  Use NO_MTIO instead of
  744.     tricks with USG and HAVE_MTIO and NO_RMTIOCTL.
  745.     * Move decls of ANSI C and POSIX functions to port.h and
  746.     use standard headers to declare them if available
  747.     [STDC_HEADERS or POSIX].
  748.     * Add many missing function declarations and return types.
  749.     * Some places used __MSDOS__, some MSDOS; standardize on __MSDOS__.
  750.     * Change S_IF macros to S_IS for POSIX.
  751.     * port.h: Define appropriate S_IS macros if missing.
  752.     * port.h: Rename macros for testing exit status to conform to
  753.     POSIX; use the system's versions if available [POSIX].
  754.     * Use POSIX PATH_MAX and NAME_MAX instead of MAXPATHLEN and MAXNAMLEN.
  755.     * port.h: Define PATH_MAX and NAME_MAX.
  756.     * create.c, gnu.c, tar.c: Use ck_malloc and free instead of
  757.     auto arrays of size PATH_MAX or NAME_MAX, since with pathconf
  758.     they might not be constants.
  759.     * Move all definitions of O_* to port.h to reduce redundancy.
  760.     * Make all source files that now need to include port.h do so.
  761.     * port.c: Remove #undefs of WANT_* so you can use -DWANT_*
  762.     when compiling, instead of having to edit port.c.
  763.     [WANT_DUMB_GET_DATE] (get_date): Function removed.
  764.     Even systems without bison can get bison output and compile it.
  765.     [WANT_STRING] (index, rindex, bcopy, bzero, bcmp): Functions
  766.     removed; the translation is now done by macros in port.h.
  767.     * wildmat.c (wildmat): Use POSIX.2 '!' instead of '^' to negate
  768.     character classes.
  769.  
  770. Mon Jul 15 13:47:45 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  771.  
  772.     * testpad.c (main): Return type void.
  773.  
  774.     * port.c [WANT_STRING]: Don't include memory.h if NO_MEMORY_H.
  775.  
  776.     * create.c (dump_file) [AIX]: Fix typo, `allocate' for `alloca'.
  777.     * gnu.c (collect_and_sort_names): Move misplaced brace out of #ifdef.
  778.     From: Minh Tran-Le <TRANLE@intellicorp.com>.
  779.  
  780.     * configure: Also look in sys/signal.h for signal decl.
  781.  
  782. Wed Jul 10 01:42:55 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  783.  
  784.     * Rename rtape_server.c to rmt.c and rtape_lib.c to rtapelib.c.
  785.  
  786.     * configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL).
  787.  
  788. Tue Jul  9 01:38:37 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
  789.  
  790.     * Most files: Refer to GPL version 2.
  791.     * COPYING: Use version 2.
  792.  
  793.     * port.c [__TURBOC__] (utime): New function.
  794.  
  795.     * xmalloc: New function (just calls ck_malloc), for alloca.c
  796.     and bison.simple (in getdate.y output).
  797.  
  798.     * Makefile.in (AUX): Include alloca.c and tcexparg.c, a
  799.     command line globber for Turbo C.
  800.  
  801. Mon Jul  8 14:30:52 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
  802.  
  803.     * testpad.c: Open and write to testpad.h instead of stdout,
  804.     because some MS-DOS makes (Borland's at least) can't do
  805.     redirection in commands.
  806.     * Makefile.in: Don't redirect testpad output.
  807.  
  808. Mon Jul  8 12:56:35 1991  Michael I Bushnell  (mib at churchy.gnu.ai.mit.edu)
  809.  
  810.     * buffer.c (fl_read): Missing \n in printf.
  811.  
  812. Mon Jul  8 03:40:28 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
  813.  
  814.     * create.c, extract.c, gnu.c, diffarch.c, tar.c: Comment out
  815.     unused variables. 
  816.  
  817.     * tar.c (options): Cast get_date arg to VOIDSTAR instead of
  818.     `struct timeb *', since on some non-BSD systems the latter is
  819.     undefined.
  820.  
  821. Sat Jul  6 04:53:14 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
  822.  
  823.     * Replace Makefile with configure, Makefile.in, and makefile.pc.
  824.     Update README with current compilation instructions.
  825.  
  826.     * port.c [WANT_RENAME] (rename): New function.
  827.  
  828. Wed Jul  3 18:10:52 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  829.  
  830.     * testpad.c (main): Avoid warning from some compilers on array
  831.     address. 
  832.  
  833.     * rtape_server.c (sys_errlist): Should be declared extern.
  834.  
  835. Mon Jul  1 14:14:06 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  836.  
  837.     * Release of version 1.10; appropriate changes to README.
  838.  
  839.     * create.c: Removed printf's about sparse files.
  840.  
  841.     * Fix a misplaced quote in level-0 and change some >& into
  842.     2>&1.
  843.  
  844. Fri Jun 21 23:04:31 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  845.  
  846.     * list.c (skip_extended_headers): Userec was being called in
  847.     the wrong place.
  848.  
  849. Thu Jun 20 19:10:35 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
  850.  
  851.     * tar.h: Use ANSI prototypes for msg and msg_perror if
  852.     STDC_MSG is defined, even if BSD42 is also.
  853.  
  854.     * Makefile: Replace DESTDIR with bindir.
  855.     (install): Don't install tar.texinfo.  There's no standard
  856.     place for texinfo files, and /usr/local/man is inappropriate.
  857.     Add TAGS, distclean, and realclean targets and SHELL= line.
  858.  
  859.     * version.c: Move old change history to bottom of ChangeLog.
  860.  
  861. Wed Jun 12 12:43:58 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  862.  
  863.     * rtape_lib.c (__rmt_write): #ifdef should reference
  864.     SIGNAL_VOID, not USG.
  865.  
  866. Wed Jun  5 14:57:11 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  867.  
  868.     * tar.c (name_match, addname): Ugly hack to handle -C without
  869.     any files specified.  
  870.     tar.h (struct name): New field for ugly hack.
  871.  
  872. Mon Jun  3 14:46:46 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
  873.  
  874.     * testpad.c: New file to determine if we need special padding
  875.     in struct header in tar.h.
  876.  
  877.     * tar.h (struct header): include padding if necessary, include
  878.     testpad.h.
  879.  
  880.     * Makefile: rules to create testpad.h, etc.
  881.  
  882. Wed May 22 16:02:35 1991  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)
  883.  
  884.     * tar.c (options): -L takes an argument.
  885.  
  886.     * rtape_lib.c (__rmt_open): add /usr/bin/nsh to the list of
  887.     remote shell programs.
  888.  
  889.     * create.c: define MAXPATHLEN if we don't get it from a system
  890.     header file.
  891.  
  892.     * create.c (deal_with_sparse): return a real return value if
  893.     we can't open the file.
  894.  
  895.     * tar.c (long_options): +newer takes an argument.
  896.     (describe): fix printing in various trivial ways
  897.  
  898. Tue May 21 17:15:19 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  899.  
  900.     * tar.c (long_options): +get and +concatentate don't require arguments
  901.  
  902. Mon May 20 15:55:30 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  903.  
  904.     * create.c (write_eot): Don't try and write an EOF if we are
  905.     already at one.
  906.  
  907.     * port.c (strstr): Looking for null string should return zero.
  908.  
  909. Sun May 19 22:30:10 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  910.  
  911.     * tar.c (options): -l doesn't take an argument
  912.  
  913.     * Makefile: minor fix for SGI 4D defines from torda@scum.ethz.ch
  914.  
  915.     * rtape_server.c (main.c): Suggested mod for 386/AIX from
  916.     Minh Tran-Le.  I'm suspicious about this one.
  917.  
  918.     * create.c (dump_file): Mods from Minh Tran-Le for hidden
  919.     files on AIX.
  920.     gnu.c (collect_and_sort_name, get_dir_contents): AIX hidden file mod.
  921.  
  922.     * tar.c: (name_next): Mod from David Taylor to allow -C inside
  923.     a file list given to -T.
  924.  
  925.     * Makefile: Comment describing presence of USE_REXEC.
  926.  
  927.     * extract.c (extract_archive, case LF_SPARSE): zero check for
  928.     last element on numbytes needs to look at value after
  929.     converted from octal.
  930.  
  931.     * port.c: Don't always demand strstr, check for HAVE_STRSTR
  932.     instead.
  933.     Makefile: Comment describing presence of HAVE_STRSTR option.
  934.  
  935. Sun May 19 18:39:48 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
  936.  
  937.     * port.c (get_date): Renamed from getdate, to avoid SVR4 conflict.
  938.     * tar.c: Call get_date instead of getdate.
  939.  
  940. Fri May 10 02:58:17 1991  Noah Friedman  (friedman at nutrimat)
  941.  
  942.         * tar.c:  added "\n\" to the end of some documentation strings
  943.           where they were left off.  
  944.  
  945. Thu May  9 17:28:54 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  946.  
  947.     * Makefile: added level-0, level-1, and backup-specs to AUX.
  948.     * version.c: changed to 1.10 beta.
  949.     * README: updated for 1.10 beta release.
  950.  
  951. Tue Apr  2 12:04:54 1991  Michael I Bushnell  (mib at godwin)
  952.  
  953.     * create.c (dump_file): HPUX's st_blocks is in 1024 byte units
  954.     instead of 512 like the rest of the world, so I special cased
  955.     it.
  956.     * tar.c: Undo Noah's changes.
  957.  
  958. Mon Apr  1 17:49:28 1991  Noah Friedman  (friedman at wookumz.gnu.ai.mit.edu)
  959.  
  960.         (This ought to be temporary until things are fixed properly. )
  961.  
  962.         * tar.c: (struct option long_options):  flag for "sparse" zero if
  963.           compiling under hpux. 
  964.           tar.c: (functon options): case 'S' is a no-op if compiling under
  965.           hpux. 
  966.  
  967. Sat Mar 30 12:20:41 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  968.  
  969.     * tar.h: new variable tape_length.
  970.  
  971.     * tar.c (options): add new option +tape-length / -L.
  972.  
  973.     * buffer.c (fl_write): Turn #ifdef TEST code for limited tape
  974.     length on always, for tape-length option.
  975.  
  976.     * create.c (dump_file): avoid apollo lossage where S_IFIFO == S_IFSOCK.
  977.  
  978.         * buffer.c: include regex.h
  979.     * buffer.c (fl_read, open_archive): Use regex routines for
  980.     volume header match.
  981.     * xmalloc.c: removed file; wasn't necessary.
  982.     * tar.c: (main) use ck_malloc instead of xmalloc.
  983.  
  984. Thu Mar 28 04:05:05 1991  Noah Friedman  (friedman at goldman)
  985.  
  986.         * regex.c, regex.o: New links. 
  987.         * tar.c: include regex.h. 
  988.         * Makefile (OBJ2): Add regex.o.
  989.         (regex.o, tar.o): Depend on regex.h
  990.         (SRC2, AUX): Add the new files.
  991.  
  992. Sat Mar 23 15:39:42 1991  Noah Friedman  (friedman at wookumz.gnu.ai.mit.edu)
  993.  
  994.         * Makefile: added default flags and options for compiling under
  995.           hpux.
  996.  
  997.         * Added files alloca.c and xmalloc.c 
  998.  
  999. Sat Mar 23 14:35:31 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
  1000.  
  1001.     * port.c: Define WANT_VALLOC in HPUX.
  1002.  
  1003. Fri Mar 15 06:20:15 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
  1004.  
  1005.     * rtape_lib.c: If USG and not HAVE_MTIO, define NO_RMTIOCTL
  1006.     automatically.
  1007.     (_rmt_rexec): Temporarily re-open stdin and stdout to
  1008.     /dev/tty, to guarantee that rexec() can prompt and read the
  1009.     login name and password from the user.
  1010.     From pascal@cnam.cnam.fr (Pascal Meheut).
  1011.     * Makefile: Mention -DUSE_REXEC.
  1012.  
  1013. Fri Mar  8 20:15:11 1991  Michael I Bushnell  (mib at wookumz.ai.mit.edu)
  1014.  
  1015.     * tar.h, Makefile:  Makefile CPP macro HAVE_SIZE_T might be
  1016.     useful for some people.
  1017.  
  1018.     * gnu.c: lstat->stat define where appropriate
  1019.  
  1020.     * buffer.c (fl_write): keep track of amount written for +totals.
  1021.     * tar.c, tar.h: set flag f_totals from +totals option
  1022.     * tar.h (f_totals, tot_written): new variables
  1023.     * tar.c (main): print total written with CMD_CREATE
  1024.  
  1025.     * tar.c (main): return appropriate exit status
  1026.  
  1027. Thu Jan 17 00:50:21 1991  David J. MacKenzie  (djm at apple-gunkies)
  1028.  
  1029.     * port.c: Remove a spurious `+' between functions (a remnant
  1030.     of a context diff, apparently).
  1031.  
  1032. Wed Jan  9 19:43:59 1991  Michael I Bushnell  (mib at pogo.ai.mit.edu)
  1033.  
  1034.     * create.c (where_is_data): Rewritten to be better, and then
  1035.     #ifdef-ed out.
  1036.     (deal_with_sparse): Severly pruned.  Now we write or don't
  1037.     write only complete blocks, not worrying about partial blocks.
  1038.     This simplifies calculations, removes bugs, and elides the
  1039.     second scan through the block.  The first was zero_record, the
  1040.     second was where_is_data.
  1041.  
  1042. Mon Jan  7 17:13:29 1991  Michael I Bushnell  (mib at wookumz.ai.mit.edu)
  1043.  
  1044.     * create.c (deal_with_sparse): Second computation (for short
  1045.     reads) of numbytes increment had subtraction backwards.
  1046.     Need to handle calling where_is_data better when we did a
  1047.     short read (it might go past the end of the read), also, set
  1048.     sparsearray[...].offset in this case too.
  1049.  
  1050. Fri Jan  4 12:24:38 EST 1991    Jay Fenlason (hack@ai.mit.edu)
  1051.  
  1052.     * buffer.c  Return a special error code if the archive you're
  1053.     trying to read starts with a different label than the one specified
  1054.     on the command line.
  1055.  
  1056. Wed Jan  2 12:05:21 EST 1991    Jay Fenlason (hack@ai.mit.edu)
  1057.  
  1058.     * gnu.c  Prepend the current directory to the gnu_dumpfile, so that
  1059.     -C's won't affect where the output goes. (sigh.)
  1060.  
  1061. Tue Dec 18 18:05:59 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1062.  
  1063.     * (gnu.c)  Don't complain if the gnudumpfile we're reading info
  1064.     from doesn't exist.
  1065.  
  1066.     * create.c  Write out gnudumpfile after finishing writing the archive.
  1067.  
  1068.     * tar.c  Add +exclude FNAME, and make +exclude-from do what +exclude
  1069.     used to.
  1070.  
  1071.         Make +version an operation, not an option.
  1072.  
  1073.         add +confirmation alias for +interactive.
  1074.  
  1075. Tue Dec  4 13:28:08 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1076.  
  1077.     * tar.c (check_exclude)  Don't let MUMBLE match MUMBLE.c or fooMUMBLE
  1078.     but only foo/MUMBLE
  1079.  
  1080.     * Add the name mangler (mangle.c, plus changes to create.c and
  1081.     extract.c)
  1082.  
  1083.     * extract.c  Three small patches from Chip Salzenberg
  1084.     (tct!chip@uunet.uu.net)
  1085.  
  1086.         Don't complain when extracting a link, IFF it already exists.
  1087.  
  1088.         Don't complain when extracting a directory IFF it already
  1089.         exists.
  1090.  
  1091.         Don't ad u+wx to directories when running as root.
  1092.  
  1093.     * gnu.c  Some changes from Chip Salzenberg to make
  1094.     +listed-incremental work.
  1095.  
  1096.     * port.c Add the F_FREESP emulation of the ftruncate syscall.
  1097.  
  1098. Wed Nov 21 15:57:07 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1099.  
  1100.     Remove excess \n from lots of msg() calls.
  1101.  
  1102. Mon Nov 19 14:09:43 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1103.  
  1104.     * tar.c  Rename +volume to +label
  1105.  
  1106. Fri Nov 16 15:43:44 1990  David J. MacKenzie  (djm at apple-gunkies)
  1107.  
  1108.     * tar.c (describe): Include the default values for -b and -f
  1109.     (as set in the Makefile) in the message.
  1110.  
  1111. Thu Nov 15 13:36:45 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1112.  
  1113.     * extract.c (extract_archive)  Do the utime() call before the
  1114.     chmod() call, 'cuz some versons of utime() trash the file's mode
  1115.     bits.
  1116.  
  1117.     * list.c (read_and)    Call do_something on volume headers and
  1118.     multivol files even if they don't match the names we're looking for,
  1119.     etc. . .
  1120.  
  1121. Tue Nov  6 13:51:46 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1122.  
  1123.     * port.c (un-quote-string)    Don't try to write a null
  1124.     if there's already one there.
  1125.  
  1126. Thu Nov  1 14:58:57 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1127.  
  1128.     * buffer.c  (new_volume) fflush(msg_file) before reading for
  1129.     confirmation on new volume.  On EOF or error, print error msg and
  1130.     abort.
  1131.  
  1132. Mon Oct 29 12:06:35 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1133.  
  1134.     * getdate.y    Use new version of getdate().
  1135.  
  1136.     * tar.c (name_add) Use sizeof(char *) instead of sizeof(int)
  1137.  
  1138.     * README give the correct return address.
  1139.  
  1140. Thu Oct 25 16:03:58 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1141.  
  1142.     rtape_lib.c    Change RMTIOCTL to NO_RMTIOCTL, so it is on by default.
  1143.  
  1144.     rmt.h        Add _isrmt() #define for NO_REMOTE case.
  1145.  
  1146.     gnu.c        Add forward reference for add_dir_name().
  1147.  
  1148. Tue Oct 16 11:04:52 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1149.  
  1150.     1.09    New -G file implementation of gnu-dump stuff.
  1151.  
  1152.     * tar.c  (name_add)  Get the calls to ck_realloc and ck_malloc right.
  1153.  
  1154. Thu Oct 11 11:23:38 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1155.  
  1156.     * gnu.c  Fix A couple of typos.
  1157.  
  1158. Wed Sep 19 13:35:03 1990  David J. MacKenzie  (djm at apple-gunkies)
  1159.  
  1160.     * getdate.y [USG] (ftime): Use `daylight' unless
  1161.     DAYLIGHT_MISSING is defined.
  1162.  
  1163. Mon Sep 17 18:04:21 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1164.  
  1165.     * gnu.c (gnu_restore)  Don't use a passed char* for the
  1166.     file name, use skipcrud+head->header.name, just like everything
  1167.     else does.  This means that gnu_restore will still work with
  1168.     small buffers, etc.
  1169.  
  1170. Thu Sep 13 15:01:17 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1171.  
  1172.     * tar.c (add_exclude)  Don't bus-error if the exclude file doesn't
  1173.     end with a newline.
  1174.  
  1175. Sun Sep  9 22:35:27 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  1176.  
  1177.     * Makefile (dist): Remove .fname when done.
  1178.  
  1179. Thu Sep  6 12:48:58 EDT 1990    Jay Fenlason (hack@ai.mti.edu)
  1180.  
  1181.     * gnu.c (gnu_restore) Rember to skip_file() over the directory
  1182.     contents, even if we don't have to do anything with them.
  1183.  
  1184.     * create.c extract.c diffarch.c  Free sparsearray after we're done
  1185.     with it.
  1186.  
  1187. Tue Sep  4 10:18:50 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1188.  
  1189.     * Makefile  Include gnu.c in dist
  1190.  
  1191.     * gnu.c move add_dir above read_dir_file so that cc doesn't complain
  1192.     about add_dir returning void.
  1193.  
  1194. Sun Sep  2 20:46:34 1990  David J. MacKenzie  (djm at apple-gunkies)
  1195.  
  1196.     * getdate.y: Declare some more functions and add storage
  1197.     classes where omitted to shut compiler up.
  1198.     [USG] (ftime): Don't use extern var `daylight'; appears that
  1199.     some systems don't have it.
  1200.  
  1201. Wed Aug 29 00:05:06 1990  David J. MacKenzie  (djm at apple-gunkies)
  1202.  
  1203.     * getdate.y (lookup): In the code that allows `Aug.' to be
  1204.     recognized as `Aug', don't chop off the final `.' from words
  1205.     like `a.m.', so they can be recognized.
  1206.  
  1207. Thu Aug 16 11:34:07 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1208.  
  1209.     * buffer.c (open_archive)  If -O, write verbosity to stderr
  1210.     instead of stdout.
  1211.  
  1212. Fri Aug 10 12:29:28 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1213.  
  1214.     * getdate.y  Handle an explicit DST in the input string.
  1215.     A dozen line patch from Per Foreby (perf@efd.lth.se).
  1216.  
  1217. Mon Jul 16 13:05:11 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1218.  
  1219.     * tar.c  rename -g -G +incremental, +listed-imcremental, etc.
  1220.  
  1221. Fri Jul 13 14:10:33 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1222.  
  1223.     * tar.c  Make +newer and +newer-mtime work according to their names.
  1224.  
  1225.     * gnu.c  If +newer or +newer-mtime, use the time specified on the
  1226.     command line.
  1227.  
  1228.     * buffer.c, create.c  Add test to see if dimwit is trying to
  1229.     archive the archive.
  1230.  
  1231.     * tar.c  (long_options[]) re-ordered, so that groups of similar
  1232.     options are next to each other. . .  I think.
  1233.  
  1234.         (describe)  Modified to more closely reflect reality.
  1235.  
  1236. Fri Jul  6 13:13:59 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
  1237.  
  1238.     * tar.c  add compile-time option for SYS V (?) style
  1239.     tape-drive names /dev/rmt/{n}[lmh]
  1240.  
  1241.     * tar.c  Fix getopt-style stuff so that -C always works correctly.
  1242.  
  1243.     * gnu.c, tar.c make filename to -G optional.
  1244.  
  1245.     * {all over}, replace some fprintf(stderr...) calls with calls
  1246.     to msg().
  1247.  
  1248.     * port.c  Make -Dmumble_MSG option on command line override
  1249.     internal assumptions.
  1250.  
  1251.     * Makefile  Mention -Dmumble_MSG options
  1252.  
  1253. Fri Jul  6 02:35:31 1990  David J. MacKenzie  (djm at apple-gunkies)
  1254.  
  1255.     * tar.c (options): Don't change `c' if it is 0, as getopt now
  1256.     handles that internally.
  1257.  
  1258. Mon Jul  2 15:21:13 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1259.  
  1260.     * gnu.c  (new file)  Moved all the f_gnudump stuff here where we
  1261.     can keep track of it easier.  Also made -G take a file name where it
  1262.     stores the inode information about directories so that we can
  1263.     detect moved directores.
  1264.  
  1265.     * create.c (dump_file)  Changed slightly to work with the new
  1266.     f_gnudump.
  1267.  
  1268.     * tar.c  Moved the f_gnudump stuff to gnu.c
  1269.  
  1270.     * tar.c, extract.c  added the +do-chown option, which forces tar
  1271.     to always try to chown the created files to their original owners.
  1272.  
  1273.     * version.c  New version 1.09
  1274.  
  1275. Sun Jun 24 14:26:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  1276.  
  1277.     * create.c: Change ifdefs for directory library header
  1278.     selection to be like the ones in tar.c.
  1279.     * Makefile [Xenix]: Link with -ldir to get the dirent.h
  1280.     directory library.
  1281.  
  1282. Thu Jun  7 03:31:51 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  1283.  
  1284.     * Makefile, buffer.c, diffarch.c: Change MTIO symbol to HAVE_MTIO
  1285.     because SCO Xenix defines 'MTIO' for an incompatible tape driver
  1286.     system in a file included by termio.h.
  1287.     * tar.h: Don't define size_t for Xenix.
  1288.  
  1289. Tue Jun  5 11:38:00 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1290.  
  1291.     * create.c (dump_file)  Only print the
  1292.     "... is on a different filesystem..." if f_verbose is on.
  1293.     also add a case for S_IFSOCK and treat it like a FIFO.
  1294.     (Not sure if that's the right thing to do or not, but it's better
  1295.     than all those Unknown File Type msgs.)
  1296.  
  1297. Thu May 31 19:25:36 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1298.  
  1299.     * port.c  Use #ifdef sparc instead of #ifdef SPARC since
  1300.     the lowercase version is defined, and the uppercase one isn't.
  1301.  
  1302. Tue May 22 11:49:18 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1303.  
  1304.     * port.c (ck_malloc)  if size==0 pretend size=1
  1305.         (ck_realloc)  if(!ptr) call ck_malloc instead.
  1306.  
  1307. Tue May 15 12:05:45 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1308.  
  1309.     * diffarch.c (diff_archive)  If not f_absolute_paths, and attempt to
  1310.     open a file listed in the archive fails, try /filename also.  This will
  1311.     allow diff to open the wrong file if both /filename and filename exist,
  1312.     but there's nothing we can do about that.
  1313.  
  1314. Fri May 11 16:17:43 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1315.  
  1316.     * Makefile, Descripbe new -DMTIO option.
  1317.  
  1318.     * buffer.c diffarch.c  Change ifdefs slightly, so that
  1319.     -DMTIO will include sys/mtio.h even if USG is defined.
  1320.     This is for HUPX and similar BSD/USG crossovers.
  1321.  
  1322. Tue May  8 13:14:54 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1323.     * update.c (update_archive)  Call reset_eof() when appropriate.
  1324.  
  1325.     * buffer.c (reset_eof)  New function, that turns of EOF flag, and
  1326.     re-sets the ar_record and ar_last pointers.  This will allow
  1327.     'tar rf non-existant-file' to not core-dump.
  1328.  
  1329. Fri May  4 14:05:31 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  1330.  
  1331.     * tar.c: Recognize the +sparse option.  It was documented, but
  1332.     only the short form (-S) was actually recognized.
  1333.  
  1334. Tue Apr 17 21:34:14 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1335.  
  1336.     * create.c  Don't access location 0 if ->dir_contents is null.
  1337.  
  1338. Wed Apr 11 17:30:03 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
  1339.  
  1340.     * buffer.c (flush_archive, close_archive, new_volume) Always check
  1341.     the return value of rmtclose(), and only give a warning msg if it is
  1342.     <0.  Some device drivers (including Sun floppy disk, and HP
  1343.     streaming tape) return -1 after an IO error (or something like that.)
  1344.  
  1345. Fri Mar 23 00:06:30 1990  Jim Kingdon  (kingdon at mole.ai.mit.edu)
  1346.  
  1347.     * tar.c (long_options): Make it so +append +extract +list +update
  1348.     +catenate and +delete don't take arguments.
  1349.  
  1350. Mon Mar 12 13:33:53 EST 1990
  1351.  
  1352.     * buffer.c (open_archive, fl_write) Set the mtime of the volume
  1353.     header to the current time.
  1354.  
  1355. Wed Mar  7 14:10:10 EST 1990    Jay Fenlason (hack@ai.mit.edu)
  1356.  
  1357.     * buffer.c  Fix +compress-block  A two character patch from
  1358.     Juha Sarlin (juha@tds.kth.se)
  1359.         Replace #ifdef __GNU__ with #ifdef __STDC__
  1360.         (new_volume)  If open of new archive fails, ask again
  1361.                 (Is probably user error.)
  1362.  
  1363.     * tar.c   Replace #ifdef __GNU__ with #ifdef __STDC__
  1364.  
  1365.     * port.c  Clean up #ifdef and #defines a bit.
  1366.         (quote_copy_string)  Sometimes the malloc'd buffer
  1367.                 would be up to two characters too short.
  1368.  
  1369.     * extract.c (extract_archive) Don't declare ind static.
  1370.  
  1371.     * create.c (dump_file)  Don't declare index_offset static.
  1372.  
  1373.     * diffarch.c  Remove diff_name variable, and always use
  1374.     head->header.name, which will always work, unlike diff_name, which
  1375.     becomes trash when the next block is read in.
  1376.  
  1377. Thu Mar  1 13:43:30 EST 1990    Jay Fenlason (hack@wookumz.ai.mit.edu)
  1378.  
  1379.     * Makefile Mention the -NO_REMOTE option.
  1380.     * port.c Fix typo, and define WANT_FTRUNCATE on i386 machines.
  1381.  
  1382. Mon Feb 26 17:44:53 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
  1383.  
  1384.     * getdate.y: Declare yylex and yyerror as static.
  1385.     #define yyparse to getdate_yyparse.
  1386.  
  1387. Sun Feb 25 20:47:23 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  1388.  
  1389.     * tar.c: Remove +old option, since it is a valid abbreviation of
  1390.     +old-archive, which does the same thing.
  1391.     (describe): A few small cleanups in message.
  1392.  
  1393. Mon Feb  5 14:29:21 EST 1990    Jay Fenlason    (hack@wookumz)
  1394.  
  1395.     * port.c  define LOSING_MSG on sparc, since doprnt_msg doesn't work.
  1396.           Fix typo in #ifdef WANT_GETWD
  1397.  
  1398. Fri Jan 26 16:11:20 EST 1990    Jay Fenlason    (hack@wookumz)
  1399.  
  1400.     1.08    Sparse file support added.  Also various other features.
  1401.  
  1402.     * diffarch.c (compare_chunk)  Include correct arguments in
  1403.     a call to fprintf() for an error msg.
  1404.     (compare_chunks, compare_dir)  First argument is a long, not an int.
  1405.  
  1406.     * tar.c (options)  Use tar variable (argv[0]) as the name to print
  1407.      in an error msg, instead of a constant "tar".
  1408.     (confirm)  Use external variable char TTY_NAME[] for name of file
  1409.     to open for confirmation input.
  1410.  
  1411.     * buffer.c (new_volume)  Ditto.
  1412.  
  1413.     * port.c  Add declaration for TTY_NAME[].
  1414.  
  1415.     * rmt.h  Add long declarations for lseek() and __rmt_lseek();
  1416.  
  1417. Tue Jan 23 14:06:21 EST 1990    Jay Fenlason (hack@wookumz)
  1418.     * tar.c, create.c  Create the +newer-mtime option, which is like
  1419.     +newer, but only looks for files whose mtime is newer than the
  1420.     given date.
  1421.  
  1422.     * rtape_lib.c  Make *both* instances of signal-handler stuff use
  1423.     void (*foo)() on USG systems.
  1424.  
  1425. Thu Jan 11 14:03:45 EST 1990  Jay Fenlason  (hack@wookumz)
  1426.  
  1427.     * getdate.y  Parse European dates of the form YYMMDD.
  1428.     In ftime()  Init timezone by calling localtime(), and remember that
  1429.     timezone is in seconds, but we want timeb->timezone to be in minutes.
  1430.     This small patch from Joergen Haegg  (jh@aahas.se)
  1431.  
  1432.     * rtape_lib.c (__rmt_open)  Also look for /usr/bsd/rsh.
  1433.     Declare signal handler as returning void instead of int if USG is
  1434.     defined.
  1435.  
  1436.     * port.c Declare WANT_GETWD for SGI 4-D IRIS.
  1437.  
  1438.     * Makefile  Include defines for SGI 4D version.  There are a simple
  1439.     patch from Mike Muuss (mike@brl.mil).
  1440.  
  1441.     * buffer.c (fl_read)  Work properly on broken Ultrix systems where
  1442.     read() returns -1 with errno==ENOSPC on end of tape.  Correctly go
  1443.     on to the next volume if f_multivol.
  1444.  
  1445.     * list.c (list_archive,print_header)  Flush msg_file after printing
  1446.     messages.
  1447.  
  1448.     * port.c Delete unused references to alloca().
  1449.     Don't crash if malloc() returns zero in quote_copy_string.
  1450.     Flush stderr in msg() and msg_perror().
  1451.  
  1452.     * tar.c  Flush msg_file after printing confirmation msg.
  1453.  
  1454. Wed Jan 10 01:58:46 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  1455.  
  1456.     * tar.c (main): Change -help option and references to it to +help,
  1457.     and remove suggestion to run info (which is unreleased, so not
  1458.     likely to be of any help).
  1459.  
  1460. Tue Jan  9 16:16:00 EST 1990    Jay Fenlason  (hack @wookumz)
  1461.  
  1462.     * create.c (dump_file)  Close file descriptor if start_header()
  1463.     fails.
  1464.         (dump_file)  Change test for ./ ness to not think that
  1465.     .{any character} is a ./  These are both trivial changes from
  1466.     Piercarlo "Peter" Grandi  pcg%cs.aber.ac.uk@nsfnet-relay.ac.uk
  1467.  
  1468.     * diffarch.c (diff_init)  Print correct number of bytes in error
  1469.     message.
  1470.  
  1471. Tue Jan  9 03:19:49 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  1472.  
  1473.     * Makefile: Add comment at top noting that two source files also
  1474.     contain #defines that might need to be changed by hand.
  1475.  
  1476.     * create.c, diffarch.c, extract.c: Change L_SET to 0 in lseek
  1477.     calls, because only BSD defines it.
  1478.     * create.c (dump_file): Make sparse file checking code conditional
  1479.     on BSD42 because it uses st_blocks, which the other systems lack.
  1480.  
  1481. Tue Jan  2 13:35:56 EST 1990 Jay Fenlason (hack@gnu)
  1482.  
  1483.     * port.c (quote_copy_string)  Fix so it doesn't scramble memory if
  1484.     the last character is non-printable.  A trivial fix from Kian-Tat Lim
  1485.     (ktl@wag240.caltech.edu).
  1486.  
  1487. Tue Dec 19 11:19:37 1989  Jim Kingdon  (kingdon at pogo)
  1488.  
  1489.     * port.c [BSD42]: Define DOPRNT_MSG.
  1490.     tar.h [BSD42]: Do not prototype msg{,_perror}.
  1491.  
  1492. Fri Dec  8 11:02:47 EST 1989    Jay Fenlason (hack@gnu)
  1493.  
  1494.     * create.c (dump_file)  Remove typo in msg.
  1495.  
  1496. Fri Dec  1 19:26:47 1989  David J. MacKenzie  (djm at trix)
  1497.  
  1498.     * Makefile: Remove comments referring to certain systems lacking
  1499.     getopt, since it is now provided always and needed by all systems.
  1500.  
  1501.     * port.c: Remove copy of getopt.c, as it is now linked in
  1502.     separately to always get the current version.
  1503.  
  1504.     * tar.c: Rename +cat-tars option to +catenate or +concatenate, 
  1505.     and +local-filesystem to +one-file-system (preferred by rms
  1506.     and used in GNU cp for the same purpose).
  1507.     (describe): Reflect changes.
  1508.  
  1509. Tue Nov 28 04:28:26 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  1510.  
  1511.     * port.c: Move declaration of alloca into #else /* sparc */
  1512.     so it will compile on sparcs.
  1513.  
  1514. Mon Nov 27 15:17:08 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  1515.  
  1516.     * tar.c (options): Remove -version option (replaced by +version).
  1517.     (describe): Mention long options.
  1518.  
  1519. Sat Nov 25 04:25:23 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  1520.  
  1521.     * getoldopt.c (getoldopt): Make `opt_index' argument a pointer to
  1522.     an int, not char.
  1523.  
  1524.     * tar.c: Modify long options per rms's suggestions:
  1525.     Make preserve-permissions an alias for same-permissions.
  1526.     Make preserve-order an alias for same-order.
  1527.     Define preserve to mean both of those combined.
  1528.     Make old an alias for old-archive.
  1529.     Make portability an alias for old-archive, also.
  1530.     Rename sym-links to dereference.
  1531.     Rename gnudump to incremental.
  1532.     Rename filename to file.
  1533.     Make compare an alias for diff.  Leave diff but prefer compare.
  1534.     Rename blocking-factor to block-size.
  1535.     Rename chdir to directory.
  1536.     Make uncompress an alias for compress.
  1537.     Rename confirm to interactive.
  1538.     Make get an alias for extract.
  1539.     Rename volume-header to volume.
  1540.  
  1541.     Also make +version an alias for -version.
  1542.  
  1543.     (options): Shorten code that interprets long options by using
  1544.     the equivalent short options' code.  This also makes it tons
  1545.     easier to change the long options.
  1546.  
  1547.     (describe): Make usage message more internally consistent
  1548.     stylistically. 
  1549.  
  1550. Mon Nov 20 14:55:39 EST 1989    hack@ai.mit.edu
  1551.  
  1552.     * list.c (read_and)  Call check_exclude() to see if the files
  1553.     should be skipped on extract or list.
  1554.  
  1555. Thu Nov  9 18:59:32 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
  1556.  
  1557.     * buffer.c (fl_read): Fix typos in error message
  1558.     "tar EOF not on block boundary".
  1559.  
  1560. Mon Oct 23 13:09:40 EDT 1989        (hack@ai.mit.edu)
  1561.  
  1562.     * tar.c (long_options[])  Add an option for blocked compression.
  1563.  
  1564. Thu Oct 19 13:38:16 EDT 1989        (hack@ai.mit.edu)
  1565.  
  1566.     * buffer.c (writeerror)  Print a more useful error msg.
  1567.  
  1568. Wed Sep 27 18:33:41 EDT 1989        (hack@ai.mit.edu)
  1569.  
  1570.     * tar.c (main)  Mention "tar -help" if the luser types a non-workable
  1571.     set of options.
  1572.  
  1573. Mon Sep 11 15:03:29 EDT 1989        (hack@ai.mit.edu)
  1574.  
  1575.     * tar.c (options)  Have -F correctly set info_script.
  1576.  
  1577. Tue Aug 29 12:58:06 EDT 1989        (hack@ai.mit.edu)
  1578.  
  1579.     * Makefile  Include ChangeLog in tar.tar and tar.tar.Z
  1580.  
  1581. Mon Aug 28 17:42:24 EDT 1989        (hack@ai.mit.edu)
  1582.  
  1583.     * tar.c (options) Made -F imply -M
  1584.     Also remind tar that the -f option takes an argument!
  1585.  
  1586.     * Modified -F option to make it do what (I think) it
  1587.     should.  e.g, if you say -F, tar won't send a msg to
  1588.     msg_file and wait for a <return> It'll just run the program
  1589.     it was given, and when the prog returns, the new tape had
  1590.     *better* be ready. . .
  1591.  
  1592.     * buffer.c (open_archive)  Give error message and abort if
  1593.     the luser didn't give an archive name.
  1594.  
  1595. Fri Aug 25 20:05:27 EDT 1989        Joy Kendall (jak at hobbes)
  1596.  
  1597.     * Added code to make a new option to run a specified script
  1598.     at the end of each tape in a multi-volume backup.  Changed:
  1599.     tar.c: made new switch, -F, and new long-named option,
  1600.     "info-script".  Code is where you would expect.
  1601.     tar.h: added flag f_run_script_at_end, and an extern char *
  1602.     called info_script, which optarg gets set to.
  1603.     buffer.c: line 1158 in new_volume(): if f_run_script_at_end
  1604.     is set, we give info_script to system(), otherwise we do
  1605.     what we've always done.  **FIXME** I'm not sure if that's all
  1606.     that has to be done here.
  1607.  
  1608. Thu Aug 24 10:09:38 EDT 1989        Joy Kendall (jak at spiff)
  1609. (These changes made over the course of 6/89 - 8/89)
  1610.  
  1611.     * diffarch.c: diff_archive: Added switches for LF_SPARSE in the
  1612.     case statements that needed it.  Also, skip any extended headers
  1613.     if we need to when we skip over a file.  (need to change
  1614.     the bit about, if the size doesn't agree AND the file is NOT
  1615.     sparse, then there's a discrepancy, because I added another
  1616.     field to the header which should be able to deal with the
  1617.     sizes)   If the file is sparse, call the added routine
  1618.     "diff_sparse_files" to compare.  Also added routine 
  1619.     "fill_in_sparse_array".
  1620.  
  1621.     * extract.c: extract_archive: added the switch LF_SPARSE
  1622.     to the case statement as needed, and code to treat the 
  1623.     sparse file.  At label "again_file", modified opening the
  1624.     file to see if we should have O_APPEND be one of the modes.
  1625.     Added code at label "extract_file" to call the new routine
  1626.      "extract_sparse_file" when we have an LF_SPARSE flag.
  1627.  
  1628.     Note: really should erase the commented-out code in there,
  1629.     because it's confusing.
  1630.  
  1631.     * update.c: made sure that if a file needed to be "skipped" 
  1632.     over, it would check to see if the linkflag was sparse, and
  1633.     if so, would then make sure to skip over any "extended 
  1634.     headers" that might come after the header itself.  Do so by
  1635.     calling "skip_extended_headers".
  1636.  
  1637.     * create.c: create_archive: added code to detect a sparse
  1638.     file when in the long case statement.  Added ways to detect
  1639.     extended headers, and label "extend" (ack! should get rid of
  1640.     that, is atrocious).  Call the new routine "finish_sparse_file"
  1641.     if the linkflag is LF_SPARSE to write the info to the tape.
  1642.     Also added routines "init_sparsearray", "deal_with_sparse",
  1643.     "clear_buffer", "where_is_data", "zero_record", and 
  1644.     "find_new_file_size".
  1645.  
  1646.     * tar.h:  Added the #define's SPARSE_EXT_HDR and 
  1647.     SPARSE_IN_HDR.  Added the struct sparse and the struct
  1648.     sp_array.  Added the linkflag LF_SPARSE. Changed the tar
  1649.      header in several ways:
  1650.         - added an array of struct sparse's SPARSE_IN_HDR long
  1651.         - added a char flag isextended
  1652.         - added a char string realsize to store the true
  1653.         size of a sparse file
  1654.     Added another choice to the union record called a
  1655.     struct extended_header, which is an array of 21 struct
  1656.     sparse's and a char isextended flag.  Added flag
  1657.     f_sparse_file to list of flags.
  1658.  
  1659.     * tar.c: added long-named options to make tar compatible with
  1660.     getopt_long, changed Makefile.
  1661.  
  1662. ... ... .. ..:..:.. ... ....    Jay Fenlason (hack@ai.mit.edu)
  1663.  
  1664.     1.07    New version to go on beta tape with GCC 1.35
  1665.     Better USG support.  Also support for __builtin_alloca
  1666.     if we're compiling with GCC.
  1667.     diffarch.c: Include the correct header files so MTIOCTOP
  1668.     is defined.
  1669.     tar.c:  Don't print the verbose list of options unless
  1670.     given -help.  The list of options is *way* too long.
  1671.  
  1672.     1.06    Use STDC_MSG if __STDC__ defined
  1673.     ENXIO meand end-of-volume in archive (for the UNIX PC)
  1674.     Added break after volume-header case (line 440) extract.c
  1675.     Added patch from arnold@unix.cc.emory.edu to rtape_lib.c
  1676.     Added f_absolute_paths option.
  1677.     Deleted refereces to UN*X manual sections (dump(8), etc)
  1678.     Fixed to not core-dump on illegal options
  1679.     Modified msg_perror to call perror("") instead of perror(0)
  1680.     patch so -X - works
  1681.     Fixed tar.c so 'tar cf - -C dir' doesn't core-dump
  1682.     tar.c (name_match): Fixed to chdir() to the appropriate
  1683.     directory if the matching name's change_dir is set.  This
  1684.     makes tar xv -C foo {files} work.
  1685.  
  1686.     1.05    A fix to make confirm() work when the archive is on stdin
  1687.     include 'extern FILE *msg_file;' in pr_mkdir(), and fix
  1688.     tar.h to work with __STDC__
  1689.  
  1690.     Added to port.c: mkdir() ftruncate()  Removed: lstat()
  1691.     Fixed -G to work with -X
  1692.     Another fix to tar.texinfo
  1693.     Changed tar.c to say argv[0]":you must specify exactly ...
  1694.     buffer.c: modified child_open() to keep tar from hanging when
  1695.     it is done reading/writing a compressed archive
  1696.     added fflush(msg_file) before printing error messages
  1697.     create.c: fixed to make link_names non-absolute
  1698.  
  1699.     1.04    Added functions msg() and msg_perror()  Modified all the
  1700.     files to call them.  Also checked that all (I hope)
  1701.     calls to msg_perror() have a valid errno value
  1702.     (modified anno() to leave errno alone), etc
  1703.     Re-fixed the -X option.  This time for sure. . .
  1704.     re-modified the msg stuff.  flushed anno() completely
  1705.     Modified the directory stuff so it should work on sysV boxes
  1706.     added ftime() to getdate.y
  1707.     Fixed un_quote_string() so it won't wedge on \" Also fixed
  1708.     \ddd (like \123, etc)
  1709.     More fixes to tar.texinfo
  1710.  
  1711.     1.03    Fixed buffer.c so 'tar tzf NON_EXISTENT_FILE' returns an error
  1712.     message instead of hanging forever
  1713.     More fixes to tar.texinfo
  1714.  
  1715.     1.02    Fixed tar.c so 'tar -h' and 'tar -v' don't cause core dump
  1716.     Also fixed the 'usage' message to be more up-to-date.
  1717.     Fixed diffarch.c so verify should compile without MTIOCTOP
  1718.     defined
  1719.  
  1720.     1.01    Fixed typoes in tar.texinfo
  1721.     Fixed a bug in the #define for rmtcreat()
  1722.     Fixed the -X option to not call realloc() of 0.
  1723.  
  1724.     Version 1.00:  version.c added.  -version option added
  1725.     Installed new version of the remote-tape library
  1726.     Added -help option
  1727.  
  1728. Local Variables:
  1729. mode: indented-text
  1730. left-margin: 8
  1731. version-control: never
  1732. End:
  1733.